STEAM Programs For Every Budget

Who Are These People?

Alex Byrne
Youth Services Librarian
Pierce County Library System
Mastodon: @TheyOfHIShirts@glammr.us

Alex has been breaking, fixing, and tinkering with machines and code for most of their life, and is slowly learning to be okay with their drawing.

Brandi Gates
Youth Services Librarian
Pierce County Library System

Brandi loves to learn, explore, and try new things. She can often be heard saying, "I don't know, let's find out!" or "Oh, well that didn't work…"

Lisa Steudel
Teacher Librarian
Bethel School District

Lisa loves learning! She's always been a maker. When she's not out adventuring, you can find her crafting and cooking.

for

Washington Library Association Conference
1 April 2023
#wla2023

Land Acknowledgement

The 2023 Washington Library Association Conference is situated on the traditional lands of the Confederated Tribes of the Colville Reservation, including the Wenatchi people and the Yakama Nation. The lands I live and work on are part of the traditional lands of the Coast Salish people and the Puyallup Tribe, and the conference is located on the traditional lands of the Coast Salish people as well. Their descendants deserve our thanks for their immense contributions, past and present, to our state and local history, culture, and identity as Washingtonians.

Content Warnings

There aren't any content warnings for this presentation that I know of. Please let me know if that's not true.

Comfort Check

Before we begin, we'd like to take a moment and check how comfortable you are with the following:

  1. What STEAM Activities Are
  2. Running Your Own STEAM Activities

We use a 1-5 scale for this comfort check.

  1. I don't understand this at all.
  2. I need to go over this again.
  3. I think I get it, but I'm not completely comfortable.
  4. I get it.
  5. I can explain this to someone else.

(The in-person audience on 1 April 2023 was mostly a mix of two and three, meaning most of them have some familiarity, but additional help and support would be best for them.)

The Maker Mentality

Doing STEAM programming is less about being someone who leads and lectures and the students follow along to create a specific kind of product. That can happen, if what you're doing is helping them develop an example they can mess around with and learn how to use an unfamiliar interface, but for the most part, once there's a good-enough understanding of how to mess with the things or to use the interface, the sage part steps aside and the maker mentality takes over.

Maker mentality grounds itself in iteration and resilience as key concepts. There's a goal, but there is no assumption of a single correct path to that goal. There are only more effective and less effective ways of getting there. Therefore, all possible avenues can be explored without worry or shame, and frustration and failure are expected as part of the iteration process. Staff present may or may not know any better methods toward achieving the goal, which places them in the position of learning alongside the participants, instead of being apart from them or trying to hint to them what the correct solution is.

Because there's no defined method, and because it's entirele possible the goal won't be achieved in the time allotted, all progress and learning should be celebrated in maker mentality. What might be learned is all the ways something doesn't work, but that should be seen as real scientific progress, because a lot of experiments turn out not to work for many times before one does work. Being willing to persist through failure should be both modeled and encouraged in the participants, and all progress should be praised as progress, even if it eventually turns out the participants have to go back to the drawing board for further improvements.

No Budget? No Problem!

Bag Monsters and Creatures

One of the activities produced durng COVID-related virtual programming was a creature composed of trash bags (and other bags) connected to each other with sealing tape that allowed air (using a hair dryer on the low setting, for example) to inflate the creature into a full three-dimensional being. The concept for the creature came from Joshua Allen Harris's inflatable street sculptures that would inflate themselves with the air from street grates as subway trains passed underneath. There were several designs available for the people of New York to examine and delight in.

In addition to learning how to contruct and check for leaks and seal their creatures, there are plenty of other geometric terms or challenges that can be used for this, like volume, or the names for three-dimensional figures as the building blocks. It's also possible to do comparative work, looking for biggest, smallest, longest, shortest, heaviest, lightest, and most and least voluminous creatures. (And figuring out how to measure that with the tools they have at hand.)

A different COVID-related project was to grab materials available around the house and create a creature. From there, the engineers were asked to determine what kind of habitat would be optimal for the creature, and what it would have adapted to. Thinking about the creature in the context of an environment, other creatures, adaptations, and the like allows for both artistic expression and construction, but also scientific thinking about what kinds of evolutionary and environmental pressures would produce a creature with those adaptations and structures in their bodies. Because whatever creature they came up with, there would likely be an environment that it was correctly adapted to, and the challenge is for the participants to figure out how that would work.

Abstract Games

Playing games with participants is also a great way of getting them to think about STEAM concepts, as they try to puzzle out what the optimal strategy for any given game might be. For example:

  • Simple "solved" games such as Nim and Notakto can be used to teach binary counting (to explain the nim-sum, also known as a "bitwise XOR operation," that allows a player to know what move to make so as to guarantee their win,) to explain the modulo (%) operation, since Notakto revolves around what move yu are on with regard to how many boards are available to play on. Pathing games can help teach the idea of nodes and available exits, along with bottlenecks and circuit pathways.
  • More complex games with simple rules, like Hex, are great for explaining the concept of heuristics and how people and machines make the best decisions they can based on the information available to them and how far they're allowed to look forward in time. And which can be used to explain the difficulty of making computers that make intelligent mistakes such that the human player feels accomplished at having beaten the machine at its own game without feeling like the computer has given it away to them. Which could also give way to explaining how speedrunning of various games works and how the point of going as fast as permissible sometimes means finding and explloiting mistakes that are present or doing things the developers never thought were possible. There's a lot of STEAM in games, and all it takes is getting someone going on the right part.

Sorting Algorithms and People Computing

A group of participants is also perfect for kinetically demonstrating certain aspects of computing.

  • Programming with people, whether it's following instructions (exactly, often to the consternation of the programmers who realize that giving exact instructions is extremely frustrating).
  • Giving participants specific mathematics instructions to see how computers use their adders.
  • Having participants work as logic nodes for decision-making processes, and then trying to have someone figure out how to traverse the logic nodes to get to the desired results.
  • Sorting algorithms work well with groups of participants.
    • Bubble sort (compare with your neighbor, swap if you're in the wrong places)
    • Insertion sort (compare yourself to the alreay sorted list and insert yourself in it where you fit)
    • Tree sorts (start with a node, then traverse a binary tree about whether you're bigger or smaller than the node you are currently at)
    • Bucket sort (create cat4egories and shuck elements into buckets depending on what category they fit)
    • Merge sort (split the group into tiny groups, then merge them back together in the correct order)
    can all be demonstrated in a group of participants, to order them on whatever element you would like them to be ordered in. More complicated methods are also uasable once the simpler ones have been demonstrated, allowing for combined algorithms like Timsort (start a merge sort, then use insertion sort to sort the smaller groups, then merge back the already sorted small groups into a big group). And all the while, you can talk about how sorting effectiveness is generally pegged to how much time the algorithm takes in its very worst situation. Which itself allows for talking about exponents, logarithms, and other such concepts.

(The live audience got Timsorted as a demonstration of how to do the kinetic version, and it took a group of nearly 30 understanding adults only 5-10 minutes to get themselves sorted by birthday, a testament to the efficiency of the Timsort.)

Low Budget Actvities

Paper Circuits

Give participants some paper, some conductive tape, some LEDs, and maybe a little bit of information about how electric circuits work, and then you have all you need for a paper circuits program. The potential variations on this are impressive, through the use of conductive paint pens, different types of LEDs, or different goals for construction. Switches can be added into the design, either at the battery or in the circuit itself, parallel and series circuits can be used (which can lead to learning about forward voltages, resistance calculations, and best practices for making sure your circuits don't let the magic smoke out when the projects start getting sufficiently complex. (Most beginning programs won't need those calculations, as the necessary resistance can be provided in other ways, but they might find out that certain combinations of mixed-color parallel circuits don't work because of their different forward voltage requirements and the tendency of electricity to take the pathway of least resistance.) There's enough challenge in getting it right the first few times, but once that's done, the sky is the limit for imagination.

Robot Hands

Plenty of problem-solving techniques are possible when you start engineering things to try and work the same way that human appendages do, or when you want to try and produce something that is suitable for a specific goal purpose in mind. A deep dive into the design process and mapping out what the requirements are for success and how someone plans on going about it makes for really good STEAM learning, even, and sometimes especially, if there are failures along the way that require reworking and iterating on the design. Making approximations of muscles and skeletal structures and then manipulating them really helps learners understand their own systems and their requirements.

Straw Rockets

Even things that look like they're going to be very simple can produce complex learning and designs once you start getting into optimization questions. A straw rocket is pretty easy to construct, once the basics of making sure the seals are tight in all the correct places so the rocket will fly. Building a rocket that can fly the farthest, the fastest, or the steadiest involves refinement of ideas and figuring out what does and doesn't work as modifications to the original design. Or possibly trying a completely new and radical design to see if anything good happens with it.

A thing we have to keep remembering with regard to the Maker Mentality and programs like these that may have a suggested goal is that what qualifies as success for the participants is different than what qualifies as success for the facilitator. If the participant's goal is to build a rocket that does a loop-the-loop after being launched, and they get that, it's a success, regardless of whether it does well in any other category. It's surprisingly easy to become directive, especially with participants who are experiencing frustration, but while we can guide and suggest and experiment together, ultimately the participant is the one who is directing the activity and what they want to know.

Okay, These Ones Needs To Go In The Budget

Computing and Robotics

Here's where we start getting into more traditional-seeming STEAM activities, which is a little bit of a grumble, because everything in these sequences is expensive to kit out properly or with enough people to be used in a classroom setting. There's a certain belief that you're not doing STEAM if you don't have shiny toys or robots or screens involved. The previous elements have hopefully dispelled that myth, but for places that want to see something visually impressive that they can post on social media or wave in front of funders, the stuff that's in this category is often what they want people to use, and even more so without providing them with the scaffolding or training needed.

That's not a knock against either participants or facilitators. After all, part of the Maker Mentality is being able to throw yourself into something unfamiliar and work out how it works before turning your eyes toward making it do what you want it to, but that takes time and a lot of places are looking for more immediate results, like they are hoping to have one of their participants code up the next Minecraft using library STEAM resources and programs.

So, if yu're going to venture into the world of computing, controlling, robotics, or coding, understand it's going to cost a bit, but many places that cater to the educational market will often have "classroom" kits available that will let you purchase many multiples of something, sometimes with accessories, so that you will have enough on hand. Those places also usually offer tutorials and lessons for learning how to mess around with their devices.

It's equally as likely those tools will have two different types of programming interfaces, so that participants of different ages and skill levels can still get useful time out of the devices. Many of those devices use block-based coding applications and websites, modeled on MIT's Scratch, which is the most prominent one of the lot. There also exists MakeCode for the micro:bit, OzoBlockly for the Ozobot series, and so forth. Many of these block-based editors are based on Google's Blockly library, which allows for a more visual representation of code patterns, and then allows someone to view what the actual code that will be run is related to the placement of those blocks, in whichever langauge is desired. Using block-based coding is a way of overcoming the difficulties of learning and debugging code syntax and having to spend a lot of time hunting for a missed semicolon or an unclosed parenthesis. People who are sufficiently interested after successes with blocks can move on to writing the raw code itself and sending it to be compiled.

That said, most of the tools that are programmable are programmable in ways other than code. Ozobots, for example, have light sensors and have been programmed to recognize certain types of color sequences as requests for the robot to change speed, direction, or to perform one of a set of specific sequences. So even for those who might have trouble constructing block codes can still use the Ozobots to follow lines, change lines, traverse mazes, and the rest. For someone who is artistically inclined, they might want the robot to walk a pathway of art and do things at specific intervals with the color codes embedded in the artwork itself. What they consider success and what we consider success are often different things.

In my ideal world, students and program participants would not be limited solely to what they could experience at the library, but would be able to check out the things they've experienced at the library and then return them, or there would be a foundation or other entity with more money than they knew what to do with such that communities whose libraries are able to acquire interesting tools and use them for programming would also find that there were free kits with that technology available for them to have, without needing to return them unless they wanted to give them to someone else.

It's increasingly clear that having a computer is a necessity in the current era, but so many of the devices we have are wither App Appliances with some other functions bolted on to them or are the single precious item that's necessary for earning a living, and therefore neither of them can be used for learning more generally about the workings of computers and the joys of both breaking and fixing your own computer. Single-board computers like the fruit Pis, Rockboards, and the like are inexpensive by themselves, if somewhat more expensive when adding on things like cases and peripherals. End-of-life Chromebooks might be obtainable for a song and then, with the help of a useful tutorial and a script or two, be transformed into Linux machines (barring physical issues with the components of the Chromebook.) As a general rule, I much prefer giving a learner a machine they have full access to so they can tinker around and learn to their heart's content, rather than being directed into one or another acceptable app pathway or similar.

SBCs or repurposed Chromebooks could put a computer that's okay to mess around with and okay to break in the hands of someone who really could use a non-essential computer to do all of that learning, coding, practicing, and breaking and fixing with. Someone with more technical expertise has to provide the beginning impetus, and possibly help someone through the appropriate steps to get started, before making it possible for them to go off to the races on their own learning. And the machines themsleves have to be available dirt cheap for widespread adoption, or they have to be bought with the intention of giving them away to those who need them. (Which itself might mean there has to be some additional modifications to a stock installation that makes it even easier to use.) Still, I think there's a lot of potential in the space of providing and working with inexpensive low-power devices like SBCs for STEAM learning as well as putting an actual computer-computer in the hands of someone who could use one to play around with. So if you have the budget and have to choose between various options, choose the one that lets your participants have full access over something that's limited and more "toy-like," because while the greater potential space is intimidating, it ultimately allows for a greater amount of learning and self-directed learning, which is what Maker Mentality tries to encourage.

Building Toys

And, of course, there are the simple tools that can be used to create complex structures and machines. Bricks, blocks, planks, straws and connectors, megnetic tiles, and construction kits are high on the "unbounded creativity" scale and really good for programs where there's a suggested goal and no hints on how someone might achieve it. This goes in the big budget section because while individual kits might not be expensive, it becomes clear quickly that having a surplus of possible supplies is the best way to engage groups of participants, and so you start looking at the costs for hundreds or thousands of the individual peices, and that gets very, very expensive quickly, unless you luck into having people near you who have already done the work of collecting large amounts of those materials and they're willing to donate them or sell them to you for a nominal fee. Buying big gives you the best deal, even as it eats a signficant part of your supplies or programming budget to get those tools into your program spaces.

That said, once you have them, and enough of them, you can pretty well do anything that they'll let you do with them. Stack them high, try to follow blueprints or challenge cards, see if you can build something that fits an ecological niche, build a functioning machine to achieve a desired goal, or that can go so far or so fast or any other situation. Or leave them out and see what your participants will do when left to their own imaginations and the ability to grab as much material as they need to bring that vision into existence.

What really works well with this is the truth that when all you have to potentially solve a problem or achieve a goal is a pile of similar-looking resources, there's no secret knowledge that the facilitator has that the participants don't. So everyone is learning, is experiencing frustration and building resilience together. It's also pretty good for a situation where the participants will get to see the facilitator try ideas, or suggest ideas, and see if they work or don't, or whether they're accepted or not. Having a big pile of building materials is really good for shedding preconceptions. But they can be both expensive and take up an awful lot of space when you finally have enough of them to use.

These are a tiny sampling of possible programs, but hopefully this is enough to give people the opportunity to play and to develop their own ideas based on what's available to them.